package com.itheima.mapper;

import com.itheima.dto.StudentQueryParam;
import com.itheima.pojo.Student;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

@Mapper
public interface StudentMapper {
    List<Student> page(StudentQueryParam studentQueryParam);

    @Insert("insert into student (name,no,gender,phone,id_card,is_college,address,degree,graduation_date,clazz_id,create_time,update_time) values " +
            "(#{name},#{no},#{gender},#{phone},#{idCard},#{isCollege},#{address},#{degree},#{graduationDate},#{clazzId},#{createTime},#{updateTime})")
    void add(Student student);

    @Select("select * from student where id = #{id}")
    Student getById(Integer id);

    @Update("update student set name=#{name},no=#{no},gender=#{gender},phone=#{phone},id_card=#{idCard},is_college=#{isCollege},address=#{address},degree=#{degree},graduation_date=#{graduationDate},clazz_id=#{clazzId},violation_count=#{violationCount},violation_score=#{violationScore},update_time=#{updateTime} where id=#{id}")
    void update(Student student);

    void deleteById(List<Integer> ids);

}
